MVC ופריימוורקים
לא הבנתי בדיוק מה היחסי גומלין בין הקונטרולר לבין אקשיין ואיך הם מתפקדים ביניהם. אשמח אם תתנו לי דוגמה.
ולנושא שונה - על איזה פריימוורק עדיף לי ללכת -
YII או ZF?
אלו הפרמטרים שמעניינים אותי -
* קהילה ישראלית
* יעילות
* נוחות הפיתוח (לדוגמה בZF יש מחלקה טוויטר, אני מתכוון שטויות כאלו)
* עד כמה הפריימוורק "נוסע" - האם יש לו קהילה שמתחזקת אותו באופן תדיר, וכל כמה זמן מוציאה עדכון חדש? האם הוא מיושן וכבר לא משתמשים בו? בקיצור האם יש מנוע מאחוריו.
6 תשובות
קהילה ישראלית אין לאף פריימוורק.
יש בערך 3-4 אתרים ב PHP שאפשר לבוא לשאול שם שאלות ויש שם אנשים חכמים שיוכלו לענות על רוב השאלות שלך ב YII או ZF. שאלות ב YII אתה יכול לשאול פה, לפחות בגלל שהרבה מהגולשים כאן משתמשים בו.
יש אתר מעולה בעברית yiiframework.co.il
יעילות:
ביצועים של קוד YII מהיר יותר מ ZF
זמן פיתוח של פרוייקט קטן יותר ב YII מזנד
עקומת לימוד: תלוי בבן אדם. אומרים ש ZF יותר קשה.
כמות מחלקות וספריות מצורפות: ZF בא עם המון יותר מחלקות מוכנות לשימוש. YII וכל פריימוורק אחר מסתמכים על composer
נוסע: שניהם נוסעים, שניהם בפיתוח ועם תמיכה מובטחת לפחות עד סוף 2017.
מבחינה טכנולוגית YII משתמש בדברים קצת יותר ישנים, הוא מיועד ל PHP 5.1
ZF משתמש בפיצ'רים קצת יותר חדשים ומיועד ל 5.3
לסיכום:
כל עוד אתה לא חברה גדולה שמוכנה לשלם לזנד עבור תמיכה למוצרים 10 שנים קדימה
בתור פריימוורק להתחיל ללמוד ממנו בהחלט YII תהיה בחירה מעולה.
---
חוץ מ YII יש עוד 2 פריימוורקים ששווה לדעת עליהם
symfony שמיועד לרגע שבו תתחיל להרגיש חסרונות של פריימוורקים אחרים ותוכל לנקוט בדיוק מה הדברים שחסרים לך בכל מקום אחר. הוא דורש רמה מאוד גבוה של הבנה ויכולת תכנות אבל נותן המון גמישות.
laravel - הסוס הזוהר של התקופה האחרונה עם הרבה hype.
הוא מעניין, משתמש בכל הדברים הטכנולוגיים האחרונים, כתוב בצורה טובה ותכף יבוא מיכאל או LighTo ויספרו עוד קצת.
LighTo גם מתרגם ספר בעברית עליו.
ראה עוד כאן
P.S. - האם לפתח משהו משלך? - לא.
1) ZF עולה כסף ?
2) עדיין לא הבנתי מה הם היחסי גומלין בין Action לבין ההcontroller.
3) למה לא לפתח משהו משלי?
תודה רבה :)
1. שום דבר לא עולה כסף
2. ראה מדריך על MVC באתר
3. קודם כדאי ללמוד איך עובד משהו שעובד
1) "כל עוד אתה לא חברה גדולה שמוכנה לשלם לזנד עבור תמיכה למוצרים 10 שנים קדימה" (?)
2) ראיתי אותם כבר, אין שם משהו על Actions
3) אני יודע איך MVC עובד, וכבר בניתי פריימוורק בסיסי (לא לשימוש כרגע). אני רוצה תוך כדי שאני רואה איך פריימוורק אמיתי עובד להוסיף דברים חדשים ולשפר את שלי עד שהוא יהיה טוב מספיק לשימוש אישי.
אולי לא התנסיתי עם פריימו'ורקים אחרים, אבל אני כן יודע שלארוול הוא פשוט מדהים.
והגמישות שלו? הגמישות שלו עולה על כל דבר שאי פעם ראיתי.
הוא בנוי בצורה של חבילות (Bundles), כלומר יש את התיקייה הראשית "application", וזה בעצם "חבילת ברירת המחדל" - כל מה שיכול להיות בה יכול להיות בכל חבילה שהיא. לכל חבילה יש אפשרות מובנית לעבוד עם MVC, יש לה תיקיית הגדרות תצורה (בד"כ יהיו בה מערכים), לוקליזציה, ספריות, ונתבים. (פחות או יותר, זה לא הכי מדויק שיש.) יש מחלקות מובנות לעבוד עם כל אחד מהדברים שהזכרתי (ושאני אזכיר), וגם לזיכרון מטמון וכדו'.
לכל חבילה יכול להיות גם ספריות וגם "משימות" (Tasks), שהם כל מיני פעולות המיוצגות כמחלקות (כמו התקנת חבילה), שאפשר לגשת אליהם בקלות דרך ממשק ה-CLI של לארוול (שדרך אגב, הוא אחלה).
על התחביר של לארוול כבר אין לי מילים, אתה פשוט קורא אותו בשטף.
נתבים הם אחד הכלים העוצמתיים יותר של לארוול, ובגרסאות האחרונות יש גם מה שנקרא "ניתוב עם קונטרולרים", כך שאתה יכול להשתמש לגמרי ב-OOP MVC כולל ניתוב ללא הנתבים המקוריים (או גם וגם). בנוגע לנתבים הרגילים - אתה לא פשוט מנתב כתובת אתר לקובץ; אתה משתמש ב-Closureים, כך שזה הרבה יותר נחמד.
חבילות ללארוול יש בשפע, ובהם יש דברים כמו Themes וכדו'.
ללארוול יש גם אחלה ORM (לא יצא לי לעבוד אתו עדיין, אבל שמעתי שהוא אחד היותר טובים) ומחלקות ליצירת טפסים, ליצירת קישורים (גם קישורים לנתבים ולקונטרולרים!), ועוד לא מעט מחלקות שיהפכו את החיים שלך לכל כך הרבה יותר קלים, ובאותו זמן לארוול אפילו לא מתקרב לכבדות של ZF.
אחד הדברים שאני אישית ממש אוהב לגבי לארוול זה ספריית התבניות בלייד (Blade). היא נורא נחמדה ומקלה על תהליך הפיתוח.
הטעינה האוטומטית של מחלקות ושל ספריות בלארוול גם כיפית.
למדריכים בעברית | לדוקומנטציה הנפלאה (רק באנגלית עדיין)
שכחתי לומר. :) הדוקומנטציה של לארוול בנויה באופן של נושאים, דבר שבמידה מסוימת הופך את העניין להרבה יותר קל. שכחת משהו בנושא מסוים? אתה יכול לגשת לכל המידע עליו בלחיצה אחת. אתה תמיד יכול לקרוא גם את ה-API עצמו.
הערה קטנה: אחרי שעקבתי קצת אחר העדכונים האחרונים ב-GitHub (של לארוול), וראיתי את הבאגים שנמצאו, אני לא הייתי ממליץ כרגע על לארוול לפרודקשן, אבל כנראה עוד מעט כן. רק שים לב לא לקחת שום דבר כמובן מאליו, תנסה כל דבר אם הוא עובד גם בגרסת ה-PHP שלך (יש כמה באגים במעבר ל-PHP 5.4).